package com.example.demo.mapper;

import com.example.demo.model.BookInfo;
import com.example.demo.model.PageRequest;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface BookMapper {


    @Insert("insert into book_info(book_name,author,count,price,publish,`status`)" +
            " values(#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    void addBook(BookInfo bookInfo);

    @Select("SELECT * from book_info where STATUS != 0 LIMIT #{offset},#{pageSize}")
    List<BookInfo> selectBooksByPage(PageRequest pageRequest);

    @Select("SELECT COUNT(*) from book_info where `status` != 0")
    Integer count();
    
    @Select("SELECT * FROM book_info where `status`!=0 AND id=#{bookId}")
    BookInfo queryBookById(Integer bookId);

    Integer updateBook(BookInfo bookInfo);

    Integer batchDelete(List<Integer> ids);
}
